const { DataTypes } = require('sequelize')
const seq = require('../utils/seq')
const moment = require('moment')

/**
 *权限id: id uuid
  接口名称：name 必填 string
  接口地址：path 必填 string
  接口类型：type 必填 string
  创建时间：ctime string
  更新时间：mtime string
  备注：remark string
  权限标识：perms （权限标识用于前台按钮级权限控制）必填 string
  所属模块：tag 必填 如属于用户管理
 */

module.exports = seq.define('permission', {
  id: {
    type: DataTypes.UUID,
    primaryKey: true,
    allowNull: false,
    defaultValue: DataTypes.UUIDV4,
    comment: '权限id'
  },
  name: {
    type: DataTypes.STRING,
    allowNull: false,
    comment: '接口名称'
  },
  path: {
    type: DataTypes.STRING,
    allowNull: false,
    comment: '接口地址'
  },
  type: {
    type: DataTypes.STRING,
    allowNull: false,
    comment: '接口类型'
  },
  perms: {
    type: DataTypes.STRING,
    allowNull: false,
    comment: '权限标识'
  },
  tag: {
    type: DataTypes.STRING,
    allowNull: false,
    comment: '所属类别模块'
  },
  ctime: {
    type: DataTypes.STRING,
    defaultValue: moment().format('YYYY-MM-DD HH:mm:ss'),
    comment: '创建时间'
  },
  mtime: {
    type: DataTypes.STRING,
    defaultValue: moment().format('YYYY-MM-DD HH:mm:ss'),
    comment: '更新时间'
  },
  remark: {
    type: DataTypes.STRING,
    comment: '备注'
  }
})